﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Himall.Entity
{
    /// <summary>
    /// 投诉状态
    /// </summary>
    public enum ComplaintStatus
    {
        /// <summary>
        /// 待处理
        /// </summary>
        [Description("等待商家处理")]
        WaitDeal = 1,

        /// <summary>
        /// 等待会员确认
        /// </summary>
        [Description("商家处理完成")]
        Dealed,

        /// <summary>
        /// 等待平台介入
        /// </summary>
        [Description("等待平台介入")]
        Dispute,

        /// <summary>
        /// 已结束
        /// </summary>
        [Description("已结束")]
        End
    }
    public enum OrderTypes
    {
        /// </summary>
        [Description("组合购")]
        Collocation = 1,
        [Description("限时购")]
        LimitBuy = 2,
        [Description("拼团")]
        FightGroup = 3,
    }

    public enum PaymentTypes
    {
        /// <summary>
        /// 未付款时的默认状态
        /// </summary>

        [Description("")]
        None = 0,

        [Description("线上支付")]
        Online = 1,

        /// <summary>
        /// 平台确认收款之类的
        /// </summary>
        [Description("线下支付")]
        Offline = 2,

        /// <summary>
        /// 货到付款
        /// </summary>
        [Description("货到付款")]
        CashOnDelivery = 3,
    }


    /// <summary>
    /// 订单状态
    /// </summary>
    public enum OrderOperateStatus
    {
        /// <summary>
        /// 待付款 1
        /// </summary>
        [Description("待付款")]
        WaitPay = 1,

        /// <summary>
        /// 待发货 2
        /// </summary>
        [Description("待发货")]
        WaitDelivery = 2,

        /// <summary>
        /// 待收货 3
        /// </summary>
        [Description("待收货")]
        WaitReceiving = 3,

        /// <summary>
        /// 已关闭 4
        /// </summary>
        [Description("已关闭")]
        Close = 4,

        /// <summary>
        /// 已完成 5
        /// </summary>
        [Description("已完成")]
        Finish = 5,

        /// <summary>
        /// 待自提 6
        /// </summary>
        [Description("待自提")]
        WaitSelfPickUp = 6,

        /// <summary>
        /// 未评价 7
        /// </summary>
        [Description("未评价")]
        UnComment = 7
    }

    /// <summary>
    /// 订单活动
    /// </summary>
    public enum ActiveTypes
    {
        /// <summary>
        /// 无活动
        /// </summary>
        [Description("无活动")]
        None

    }
    //由于新增门店自提功能，所以售后审核状态中待商家审核也可能是待门店审核(待商家收货,商家拒绝，商家通过审核等也类似)
    //由于枚举值已在多个地方判断时固定死，不好添加新枚举，所以需要根据订单的发货方式判断审核状态
    /// <summary>
    /// 商家审核状态
    /// </summary>
    public enum OrderRefundAuditStatus
    {
        /// <summary>
        /// 待商家/门店审核
        /// </summary>
        [Description("待商家审核")]
        WaitAudit = 1,

        /// <summary>
        /// 待买家寄货
        /// </summary>
        [Description("待买家寄货")]
        WaitDelivery = 2,

        /// <summary>
        /// 待商家/门店收货收货
        /// </summary>
        [Description("待商家收货")]
        WaitReceiving = 3,

        /// <summary>
        /// 商家/门店拒绝
        /// </summary>
        [Description("商家拒绝")]
        UnAudit = 4,

        /// <summary>
        /// 商家/门店通过审核
        /// </summary>
        [Description("商家通过审核")]
        Audited = 5
    }

    /// <summary>
    /// 平台确认状态
    /// </summary>
    public enum OrderRefundConfirmStatus
    {
        /// <summary>
        /// 待平台确认
        /// </summary>
        [Description("待平台确认")]
        UnConfirm = 6,

        /// <summary>
        /// 退款成功
        /// </summary>
        [Description("退款成功")]
        Confirmed = 7
    }

    /// <summary>
    /// 退款方式
    /// </summary>
    public enum OrderRefundMode
    {
        /// <summary>
        /// 订单退款
        /// </summary>
        [Description("订单退款")]
        OrderRefund = 1,

        /// <summary>
        /// 货品退款(收到货后只退款)
        /// </summary>
        [Description("货品退款")]
        OrderItemRefund = 2,

        /// <summary>
        /// 退货退款
        /// </summary>
        [Description("退货退款")]
        ReturnGoodsRefund = 3
    }


    //TODO: lly 2015-08-03 增加枚举 
    /// <summary>
    /// 退款支付状态
    /// </summary>
    public enum OrderRefundPayStatus
    {
        /// <summary>
        /// 支付成功
        /// </summary>
        [Description("支付成功")]
        PaySuccess = 1,
        /// <summary>
        /// 支付失败
        /// </summary>
        [Description("支付失败")]
        PayFail = -1,
        /// <summary>
        /// 已支付
        /// <para>已跳转支付平台，未收到异步通知道前</para>
        /// </summary>
        [Description("已支付")]
        Payed = 0
    }
    /// <summary>
    /// 退款支付方式
    /// </summary>
    public enum OrderRefundPayType
    {
        /// <summary>
        /// 原路返回
        /// </summary>
        [Description("原路返回")]
        BackOut = 1,
        /// <summary>
        /// 线下支付
        /// </summary>
        [Description("线下支付")]
        OffLine = 2,
        /// <summary>
        /// 退到预付款
        /// </summary>
        [Description("退到预付款")]
        BackCapital = 3
    }
}
